const 文本取中间全部 = (str, startStr, endStr) => {
  // 用于转义正则表达式中的特殊字符
  function escapeRegExp(string) {
    return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
  }
  // 构建正则表达式
  const escapedStartStr = escapeRegExp(startStr);
  const escapedEndStr = escapeRegExp(endStr);
  const regex = new RegExp(`${escapedStartStr}(.*?)${escapedEndStr}`, "gs");

  // 使用 match 方法获取所有匹配项
  const matches = str.match(regex);

  // 如果没有匹配项，返回空数组
  if (!matches) {
    return [];
  }

  // 提取每个匹配项中的中间部分
  const innerMatches = matches.map(match => {
    return match.slice(startStr.length, -endStr.length);
  });

  // 返回所有中间部分
  return innerMatches;
};

module.exports = 文本取中间全部;